package pojo.utils;

import java.beans.XMLDecoder;
import java.beans.XMLEncoder;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class FileUtils {

	public static void createFile(Object obj, String fileName) {
		// 创建输出文件
		try {
			File fo = new File(fileName);
			// 文件不存在,就创建该文件
			if (!fo.exists()) {
				// 先创建文件的目录
				String path = fileName.substring(0, fileName.lastIndexOf('/'));
				File pFile = new File(path);
				pFile.mkdirs();
			}
			// 创建文件输出流
			FileOutputStream fos = new FileOutputStream(fo);
			// 创建XML文件对象输出类实例
			XMLEncoder encoder = new XMLEncoder(fos);
			// 对象序列化输出到XML文件
			encoder.writeObject(obj);
			encoder.flush();
			// 关闭序列化工具
			encoder.close();
			// 关闭输出流
			fos.close();
		} catch (FileNotFoundException e1) {
			e1.printStackTrace();
		} catch (IOException e1) {
			e1.printStackTrace();
		} catch (Exception e1) {
			e1.printStackTrace();
		}
	}

	public static Object readFile(String objSource) {
		Object obj = null;
		try {
			File fin = new File(objSource);
			if (fin.exists()) {
				FileInputStream fis = new FileInputStream(fin);
				XMLDecoder decoder = new XMLDecoder(fis);
				obj = decoder.readObject();
				fis.close();
				decoder.close();
			}
		} catch (FileNotFoundException e1) {
			e1.printStackTrace();
		} catch (IOException e1) {
			e1.printStackTrace();
		} catch (Exception e1) {
			e1.printStackTrace();
		}
		return obj;
	}

	public static String getDataSourceFileName() {
		String userDir = System.getProperty("user.dir");
		String fileName = userDir + "/javabean/datasource.xml";
		return fileName;
	}
}
